<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>删除事件（解绑事件）</title>
    <style>
        div {
            width: 100px;
            height: 100px;
            background-color: skyblue;
        }
    </style>
</head>

<body>
    <div>1</div>
    <div>2</div>
    <div>3</div>

    <script>
        var divs = document.querySelectorAll('div');
        divs[0].onclick = function() {
                alert('this is a message');
                // 1.传统方式删除事件
                // eventTarget.onclick = null;
                this.onclick = null;
            }
            // divs[1].addEventListener('click', function() {
            //     alert('this is a addEventListener() message');
            //     // 2.方法监听删除事件
            // 这里不能使用匿名函数删除事件
            //     // eventTarget.removeEventListener(type,listener[])
            //     // this.removeEventListener('click',)
            // })

        divs[1].addEventListener('click', fn)
            // 里面的fn不需要调用加小括号
        function fn() {
            alert('this is a addEventListener() message');
            // 2.方法监听删除事件
            // eventTarget.removeEventListener(type,listener[])
            divs[1].removeEventListener('click', fn);
        }

        //3. ie9 以上支持的方式(兼容)
        divs[2].attachEvent('onclick', fn1);

        function fn1() {
            alert('this is a attachEvent() add event');
            // ie9中删除事件的方式 detachEvent()
            divs[2].detachEvent('onclick', fn1);
        }
    </script>
</body>

</html>